package com.xnew.role.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xnew.entity.memberArchives.MemLinkmanInfo;
import com.xnew.role.bean.AuRole;
import com.xnew.bean.common.AuUserRole;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface AuUserRoleMapper extends BaseMapper<AuUserRole> {
    int deleteByPrimaryKey(@Param("arId") String aurId);

    AuUserRole selectByPrimaryKey(@Param("arId") String aurId);

    List<AuUserRole> selectAll();

    int updateByPrimaryKey(AuUserRole record);

	AuUserRole findUserByRoleId(@Param("arId") String arId);

	List<AuUserRole> findRoleIdByUid(@Param("auId") String uid);
	
	int deleteByAuid(@Param("auId") String auId);
	
	List<AuRole> findRoleIdsByUid(@Param("auId")String auId);

    /**
     * 根据用户id删除用户角色信息
     * @param perUserNo
     */
    void deleteByAuId(String perUserNo);

    /**
     * 根据角色id删除用户角色信息
     * @param arId 角色id
     */
    void deleteByArId(String arId);

    /**
     * 根据角色id查询用户
     * @param arId
     * @return
     */
    List<AuUserRole> queryUserRoleListByArId(String arId);

    AuUserRole selectIsUser(@Param("auId") String auId, @Param("arId") String arId);

    void deleteRoleUser(@Param("arId") String arId, @Param("auIds") List<String> auIds);

    /**
     * 根据用户id查询用户角色
     * @param auId
     * @return
     */
    List<AuUserRole> selectByAuId(@Param("auId") String auId);

    /**
     * 新增会员联系人
     * @param memLinkmanInfo
     */
    void insertMemLinkmanInfo(MemLinkmanInfo memLinkmanInfo);


    /**
     * 根据id查询会员联系人
     * @param orgLinkmanNo
     * @return
     */
    MemLinkmanInfo selectMemLinkmanInfoById(@Param("memLinkmanInfoNo") String orgLinkmanNo);

    /**
     * 根据id修改会员联系人
     * @param memLinkmanInfo
     */
    void updateMemLinkmanInfoById(MemLinkmanInfo memLinkmanInfo);

    @Delete("delete from el_au_user_role " +
            "WHERE au_id = #{userInfoNo} ")
    void deleteByUserInfoNo(@Param("userInfoNo") String userInfoNo);
}